]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
unlockDialog: Make the prompt entry insensitive while logging in
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 3 Oct 2012 20:43:38 +0000 (17:43 -0300)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 4 Oct 2012 07:02:16 +0000 (04:02 -0300)
This ensures that the user can't confusingly edit the entry while
waiting for a response.

https://bugzilla.gnome.org/show_bug.cgi?id=685444

data/theme/gnome-shell.css
js/ui/unlockDialog.js

index b6f4e065f0ff52ba5ee3d60c52cbc25c2c6ea6bd..3d929f1a3f73d916602cdfd483b892c03ce3fa3e 100644 (file)
@@ -402,6 +402,8 @@ StScrollBar StButton#vhandle:active {
 .login-dialog-prompt-entry:insensitive {
     color: rgba(0,0,0,0.7);
     border: 2px solid #565656;
+    background-gradient-start: rgb(200,200,200);
+    background-gradient-end: rgb(210,210,210);
 }
 
 /* Panel */
index 127a924c76c888d95153d4c9bc0e0810d5547034..5ee43871cd95895fe64c62122c0106d3d0c9db2f 100644 (file)
@@ -171,7 +171,7 @@ const UnlockDialog = new Lang.Class({
                            default: true };
         this.setButtons([cancelButton, this._okButton]);
 
-        this._updateOkButton(true);
+        this._updateSensitivity(true);
 
         let otherUserLabel = new St.Label({ text: _("Log in as another user"),
                                             style_class: 'login-dialog-not-listed-label' });
@@ -200,7 +200,9 @@ const UnlockDialog = new Lang.Class({
         this._idleWatchId = this._idleMonitor.add_watch(IDLE_TIMEOUT * 1000, Lang.bind(this, this._escape));
     },
 
-    _updateOkButton: function(sensitive) {
+    _updateSensitivity: function(sensitive) {
+        this._promptEntry.reactive = sensitive;
+        this._promptEntry.clutter_text.editable = sensitive;
         this._okButton.button.reactive = sensitive;
         this._okButton.button.can_focus = sensitive;
     },
@@ -230,7 +232,7 @@ const UnlockDialog = new Lang.Class({
         this._promptEntry.menu.isPassword = passwordChar != '';
 
         this._currentQuery = serviceName;
-        this._updateOkButton(true);
+        this._updateSensitivity(true);
     },
 
     _showLoginHint: function(verifier, message) {
@@ -248,7 +250,7 @@ const UnlockDialog = new Lang.Class({
             // and make ourself non-reactive
             // the actual reply to GDM will be sent as soon as asked
             this._firstQuestionAnswer = this._promptEntry.text;
-            this._updateOkButton(false);
+            this._updateSensitivity(false);
             return;
         }
 
@@ -258,7 +260,7 @@ const UnlockDialog = new Lang.Class({
         let query = this._currentQuery;
         this._currentQuery = null;
 
-        this._updateOkButton(false);
+        this._updateSensitivity(false);
 
         this._userVerifier.answerQuery(query, this._promptEntry.text);
     },